package thread;

public class ThreadDemo10 {
    private static int count=0;
    public static void main(String[] args) throws InterruptedException {
        Object locker=new Object();
        Thread t1=new Thread(()->{
            for (int i=0;i<50000;i++){
                /*
                1.一个线程加上锁并且锁对象一样的话其他的线程就要阻塞等待
                等到前一个线程执行完成之后才可能会轮到下一个线程

                2.只要是个对象就能当作锁对象,相同的锁对象就会有竞争,不同的锁对象不会有竞争
                 */
                synchronized(locker){
                    count++;
                }


            }
        });


        Thread t2=new Thread(()->{
            for (int i=0;i<50000;i++){
                synchronized(locker){
                    count++;
                }
            }
        });


        t1.start();
        t2.start();

        t1.join();
        t2.join();


        System.out.println("count="+count);
    }
}
